Techniques for embedding and detecting watermarks in colored images must take into account that each pixel is defined by a plurality of numbers representing different colors. For example each pixel may have a red, a green and a blue value. Luminance is a single value that can be calculated from the multiple values that define a pixel. A watermark can be embedded in an image by changing the luminance value of the pixels in the image. The luminance of a pixel can be changed by making changes along a particular color axis.
A widely used watermarking embedding technique examines the luminance values in an area surrounding a particular pixel to determine the amount of change in luminance that should be applied to that particular pixel. The watermark is embedded by changing the colors of each pixel along a vector from black to the color of the pixel. This technique can be termed “scale to black” watermark embedding.
A widely used watermark reading technique operates on detected changes in the luminance values of an image. A change in luminance is determined by projecting color changes onto a luminance axis. The change in luminance of each pixel is equal to the change in magnitude of a vector from black to the color of the pixel, projected onto the luminance axis.
Other watermarking embedding and reading techniques select a particular color plane of an image and imbed and read the watermark into and from that color plane.
Some systems that read watermarks apply a non linear filter to the image to obtain a set of values from which the watermark (i.e. the grid signal or the data signals) is read. A non-linear filter can, in effect, calculate a value for each pixel based upon the value of the surrounding pixels. A variety of such non-linear filters have been proposed. Some take into account the value of all adjacent pixels, others take into account the value of the pixels on various axes such as the values on a set of cross axes.